home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / COMMS / WATCHRING.ZIP / !WatchRing / !Help next >
Text File  |  1997-05-06  |  8KB  |  171 lines

  1.                                WatchRing
  2.                         version 2.10 (6 May 1997)
  3.                              by Rick Hudson
  4.  
  5.  
  6. rick@actrix.gen.nz
  7. http://www.geocities.com/CapeCanaveral/Lab/6722
  8.  
  9. This is release 2 of WatchRing - a simple program that simply makes a noise
  10. when your modem detects the phone ringing. 
  11.  
  12. The latest version of this program can be found on the web page shown above.
  13.  
  14.  
  15. License: WatchRing is FreeWare and may be freely distributed in its original
  16. archive form provided there is no charge for it. Files within the archive may
  17. not be distributed separately or with any other software.
  18.  
  19. Disclaimer: This software is supplied 'as is' and I cannot guarantee that it
  20. will work on your computer/modem setup. You use this program at your own risk
  21. and I will not accept responsibility for any 'effects' (including crashes)
  22. caused by the use of this program. I would nevertheless be interested to hear
  23. any problems you may have.
  24.  
  25.  
  26.  
  27.  
  28.  
  29. The application
  30. ===============
  31.  
  32. WatchRing is supplied in a dummy application form so that it can be run by
  33. just double clicking on it or it can be dropped in the tasks directory of
  34. your boot structure. You can of course start the module manually from a
  35. command script or edit the !Run file for your own requirements. You *can*
  36. just double-click on the module but it will default to the system beep as its
  37. ring sound.
  38.  
  39.  
  40. The two versions
  41. ================
  42.  
  43. There are currently two version of WatchRing. They both do the same thing but
  44. one (WR_RI) detects the ringing by monitoring the RI (Ring Indicator) line on
  45. the serial port. This requires your modem to be connected by a standard
  46. PC-style serial cable which connects the modem's RI to the computer's RI. It
  47. also requires that your modem does in fact pulse the RI line high when the
  48. phone rings. Old-style cables with wires crossed all over the place will not
  49. work with this version.
  50.  
  51. The other (WR_TX) detects the ringing by looking for the character sequence
  52. <CR><LF>RING<CR><LF>. Most modems generate this string when they detect the
  53. phone ringing and it should therefore work with most modems. The only thing
  54. is the OS serial buffering needs to be enabled first. WR_TX enables it when
  55. it starts (using OS_Byte 2,2) but some comms programs might disable it again
  56. when they quit (eg Connector does this). BTW the TX suffix comes from the
  57. fact that it monitors text coming from the modem to do the job.
  58.  
  59. Configuration
  60. =============
  61.  
  62. WatchRing can do one of three things when it detects a ring. This is common
  63. to both versions. The action is controlled by parameters on start-up:
  64.  
  65.   BEEP                        do a plain old system beep. No more parameters.
  66.   
  67.   PLAY <p1> <p2> <p3> <p4>    execeute a sound command. The parameters are
  68.     exactly as documented by the Sound_Control SWI. ie p1=channel,
  69.     p2=amlpitude, p3=pitch, p4=duration.
  70.   
  71.   COMM <command>              execute a CLI command. All text after COMM is
  72.     passed to the CLI, including any more parameters. Commands requiring disc
  73.     access should be avoided!
  74.  
  75. If you have a normal sound module installed as a voice then the PLAY option
  76. will be the one you will use to make it work. Experiment with the *Sound
  77. command first if you need to.
  78.  
  79. The module PhoneRing supplied in the archive will install as a transient
  80. voice. The sound system is unaware of it until the command SPlay_PhoneRing is
  81. executed.
  82.  
  83. You can create normal voice modules and transient voice modules using
  84. SoundCon - a sound conversion utility also written by Rick Hudson. It can be
  85. found on Hensa (d044) and my web page should you want/need it.
  86.  
  87.  
  88.  
  89. The RI version has some additonal * commands to further refine the operation:
  90.  
  91. *WR_PulseLen <min length> <max length>
  92.  
  93. This sets the range of pulse lengths that WatchRing will repsond to. The
  94. parameters are in centiseconds. When your modem detects a ring the RI line is
  95. set to the high state for the duration of the ring (eg in New Zealand this is
  96. nominally 50 centiseconds per ring). The idea is to filter out bogus rings.
  97.  
  98. A setting of 0 0 (actually only max=0 is checked) will disable the pulse
  99. filtering and all rising edges are candidates for making a noise. Note that
  100. when pulse filtering is used WatchRing must wait for the end of the pulse
  101. (the falling edge) before it can decide whether to make a noise since it
  102. needs to time the pulse length before checking it against the allowed range.
  103.  
  104. Example: When I switch my modem off RI goes high for about 1.3 seconds, and
  105. when I switch it off it goes high for about 0.1 seconds. These bogus rings
  106. are due to the transient state of the power and the modem has little control
  107. over its electronics during these periods. By specifying "WR_PulseLen 20 80"
  108. this filters out the problem. The range could be smaller but it pays to be
  109. conservative.
  110.  
  111. There is a small Basic program in the archive called RI_Timing which you can
  112. run to measure the timing of your telephone system (or more accurately, your
  113. modem's repsonse to it). Of course you need to make your telephone ring to
  114. get any information! WatchRing need not be running to use this.
  115.  
  116.  
  117. *WR_MinRepeat <time>
  118.  
  119. This controls the minimum period (in centiseconds) between successive
  120. 'noises' played by WatchRing. This is to allow longish samples to complete
  121. before being interrupted by another ring. For example if you play a sample
  122. that lasts 2.3 seconds you might want to set a minimum repeat of 3 seconds
  123. (ie *WR_MinRepeat 300). The default of zero allows WatchRing to make noises
  124. at will (well, subject to the phone ringing, of course).
  125.  
  126.  
  127. *WR_Flash <time> [<red> <green> <blue>]
  128.  
  129. This controls the border flashing option. The border is changed to the given
  130. colour at the same time the sound is played and changes back to the previous
  131. colour after <time> centiseconds. The pulse filtering also applies to the
  132. flashing but the minimim repeat does not. If a new ring is detected while the
  133. border is still 'flashed' nothing will happen.
  134.  
  135. The r,g,b components are all in the 0..255 range. The default colour is
  136. 255,0,0 (red).
  137.  
  138. A <time> of zero (the default) disables the flashing. You can specify a time
  139. only (ie omit the colour) to change the flash time without affecting the
  140. flash colour.
  141.  
  142.  
  143. Differences between the versions
  144. ================================
  145.  
  146. There may be some difference in the behaviour of WR_TX and WR_RI depending on
  147. your modem. With the modem this was tested on and the New Zealand telephone
  148. system (which has the double-ringing style), the RI version pulses twice for
  149. each complete 'ring' (ie once for each audible ring) whereas the TX version
  150. only receives one "RING". If you want to duplicate such a phone ringing you
  151. would need to have your sample play both rings for TX version and just a
  152. single ring for the RI version. Furthermore the RI usually corresponds
  153. directly to what you can hear on a normal phone but the "RING" string is
  154. received after the ring as completed so that the computer will 'ring' in
  155. between the rings of a telephone.
  156.  
  157. Another 'feature' of the RI version is that when the modem is switched on or
  158. off the RI line may go high at some stage causing a false ring to occur. This
  159. doesn't happen with the TX version. See the command WR_PulseLen (above) for
  160. ideas about avoiding this with the RI version.
  161.  
  162.  
  163. History:
  164.  
  165. 1.00  First released version
  166. 1.10  Rewrote module because I lost the source code! Fixed bug in voice
  167.       module generator that sometimes caused voice to be left as system bell.
  168. 2.00  New version with RI sensing and 3 action options.
  169. 2.10  New commands to allow pulse length filtering and minimum repeat period.
  170.       Implemented PLAY mode which previously ignored paramaters.
  171.       Implemented border flashing as visual indicator.